changed handler, added new memory based event system