add require support to organize as modules
update unit tests for require