Allow user to customize formatting and add appropriate unit tests