complete the declaration of checked exceptions as a hassle
big overhaul of Function
get all actions out of the grammar, error handling