Interfaces plus some cleanup and renaming