sort out some mistakes in Free