sh framework