My first pass at separating things out