in process of changing to pure object need to finish event handeling