Implemented AMD with RequireJS