fix funciton