made scene an abstract class