- a bit revise