There is a bug in the find method, also code needs to be refactored and cleaned up