shouldn't we rather throw an exception?