merge from original eexcess branch (now the correct one)