added surface events
added easing curves