updated and improvement version of prototype one