refactor and comment MACGrid::project()