restructured and cleaned up project layout