vreate generic/mixins and function