refactor and rename to instance