added custom .get(obj) mapping. internal remake no longer modified original context. added unique(fn|str)
add more tests