reworked the kn-a mixin