bug fix function