started to recurse... didn't like it