1. use list<Line*> instead vector<Line*> : this will easy to merge to line; 2. 8-neighbours