refactor the code to sperate different modules