don't allow negative sizes