some fix and chainges