finish with set logic
fix union logic
add queue logic (not finished)
fix queue