Long overdue refactoring: organize source files into directories