Fleshed out remaining functions with TODOs