fixed ALL BUGS