made a function tree because function array are ugly when going over 12 function