finished project, all tests passing

implemented function definitions
implemented lambda definitions
refactored error types and messages