added block operations