refactor marker, add label settings