add test/implementation for set