huge bunch of small changes