refactor is done, todo: add new skin
update