Lots of updates; add function building (still very alpha stage -- this implementation will certainly change as nested functions are introduced)