ways implemented