created a separate placement logic module for the ship placement rules, with custom errors