context menu ports refactor