add set & tests