call this method from the block