create attribute factories