use block loop