implements working recursive directory listing :)