add file manager
client code refactoring