Feat/exists - Added Exists feature

Added code for Exists method as defined in issue #2.
And suitable test cases.

Sorry for the slightly messy commit, it rewrote the whole files in the branch