add send file functions
fix conflict