Merge work done by aavogt over the last two years