Interface changes and code cleanup