untested formatting changes with added fn