pretty much all formatting