add multiple event handlers
add window and storage
add tests