Add features and improvements