attempt to use events, stil WIP