copy-paste existing VirtualDirectory code + tests

Going to evolve into Shelf model while ensuring test coverage