add add port map func