revising entire specification
machinemade