borrowing and ship logic