Add recursive dir and file list function