added in some TODOs to finish up the code