fixes and improve some