don't return empty buffers