Add advice, some refactorings, lots of reindenting