begin implementing simulator