almost complete reskin functions