be explicit about which attributes are required