added event handling/triggering
made list array-based instead of DOM