more features and improvements