perhaps fixed cleanup and format