Separated code into modules