reorganize code, modularize controllers into different files