fixed bug 22 34 35 40