- added more comments and an example for reference