Merged all the work Mauriel has done.