improved block & tree