Modernize

@nevans here are the changes we discussed