Good Explaination, add some code example.