Refactored source code to individual files