Major refinements to interfaces, a few tweaks to the proposal