added tweening and fixed events