Modernization

Changes from @tomhipkin and other modernizations