add delayed job, not tested
finish specs for main module