made Message class final
Fixed: get tracker string instead of a list of string
Fixed: position() discarded the mark
updated a few comments