0 is a valid value for length. -1 indeicates an invalid value