improve README and code documentation