dfs base case & print some shit
another dfs base case & fix type constructor allocation