make required_keys configurable