integrated with animo.js, todo: fallback with no animations