make the use of Attribute definition more typesafe
ways to map instances