added caching for the calculated value
updated readme doc