factored out world class
factored out camera class