explanation about monkey-patch