Factored out to ByteUnit to be more DRY