Looked over Xinlu's code and added some TODOs