file sharing GUI refactor