1. -Add map and building logic.
1. -Fix some bug.
1. -Code clean, use construct sequence as much as possible.