Separed code into modular files