Support multiple backends and add alloc backend

path.Join here too.