Core functionality moved from Skeleton21