add more collections and helper functions
use helper functions