refactorinng of module