function bug fix