Almost works, kids... TODO: Remove the sexy recursion that happens / Add colors