add method for recusion attempt