add marker functions refactored