Modified some methods and added events