final version of prototype