This probably conflicts with #91; thoughts on abstracting it out somehow?