cleaned up the print lines and added recursive