fill may be empty