add initial simulator version, needs rewrite