call these with block as first aggrugument.