Finished addressing Ben's comments; need to test