updated collections logic