basic implemenation of Set