end members refactor