map block cpp, not finished