update and bug fix