restructure & text marker class