add a skin factory to register skin