more features, implemented a detector