add module-opac.coffee and move the code from startup to constructor