Documentation

Work in progress, do not merge yet. Feedback welcome.