proper event handling implemented for skin