Tidy up the code a bit expose overlaps as seperate method.