plenty of bug fix