use lvals in all evaluations
bugfixes in lval stuff and refactor for clean structure
comment out exponentiation functionality for now