Refactor for simplicity of interface