introduced memoization and relations mixins