Sizes are now signed since -1 means error