leave a todo
call initialize for termination criteria