reorganise project structure
refactor
ignore more files
refactor
fix merge confict