all program logic ok.
left robustness test.