implemented a set