working on one-to-many cache