distinct and distinctUntilChanged implemented and tested