refactor: add required properties