Should probably make this a mixin.