added recursive functions and travelalert;  refactoring.