basic skin refactoring, better dynamic handling