refactoring of Marker structure