refactored varexpr, push pop in binary and below