addressed recursion. pushed out categories.