Re-organized source files structure