user can now specify optional primary, secondary and or tertiary attributes