implemented inverted lineOfSight()
lots of changes