added simulator class