Basic functionality works, recursive option still needs to be added.