implement separate skill loading mechanism