Added function cache macro (memoization)
Improving readme
Merged master changes
Merged master changes