wtf was I thinking when I implemented expressions?!