Interface change rebase

Still working on remaining problems.