refactor object?