Major revision
Merged with master