added animations, cross-browser compatibility