improve code & update README demo