refactor ArgumentType Single to Attribute