constructor initialized, comments...
termination criterion functions