add bimap and setstore, add unit tests