should you throw an error, because if they call this method they're doing it wrong?