algorithm skeleton ready