Eval functions seem me they are correct but am having an inheritence issue. see Environment.h. i fucked something up