can use blocks kit to do this via blocks instead of delegates later