some revise..