fixes and imrpovements