fast visibility graph o(n^2)
is_point added
bugs fixing. refuctoring and restructuring