Added Events and improved tests