[~TASK] first think then commit!