allow tools to be overridden

Make some functions protected and allow default selection tools to be overridden