Refactored Same and added some verbosity logging to see how it works