use list append instead of set