refactored kinetic and mixin