Rapid prototyping and the art of program maintenance.