refactor and a very important test case
module.exports - impl interface
module.exports - impl interface