more work on collection logics