added recursive sjt