A lot more understanding but functions are still skeletal