add ship functions