added methods and formatting