features and fix bugs