Grow from bottom instead of recurse from top, much much faster