skin implementation