Split code to main and user files. added functionality