Also need to check for negative lengths.