refactore code; Add one more test; Update README