Added Features by Rey and Kent.