new fucntion fixed