---------------- finshing ----------------