Cleaned up documentation quite a bit