formatting changes, function identical