abstracted innerslide