lots of changes + tests

updated filter
fixed marshalling
switched to using URN instead of full paths