cleaned up base
changed event
added shading
refractoring list