refactor membership to use datalayer