merge with workplace
fix segfault when remove iterator