loop is hard