Finished up TODO 4, 5