add ship initialization logic