refactoring Markers into 3 types, adding util stuff for annotations.
first pass, not really tested