added comments to all code; still need to tweak CSS and add a listenTo/on function