move mixin to separate file and add keys for lists