required 4 fields