Added event handling, needs work, still pretty sweet