zkwokleung has provided a brilliant repository related to ceng2010. I am here to give an alternative solution to let you think about what are the differences between two methods.