made lots of changes to the marker and message types, its untested so this commit most likely will crash at runtime