Using Sets (working)

- still needs to be cleaned up
Code Clean up