Implement `instance` and refactor