modified syso, refactored, check equals when searching and refactor