############################################################### Author: Jianlin Cheng Free for academic use only. All rights reserved. Don't not redistribute without the permission of the author. ##############################################################