added recursive functions, updated travis to run python tests