update to lastest version
homework of week3
optimize union for set