Moved in code from the Skillib repo