ensure required fields