migrate to require and backbone