add |, & methods on Expression and add some syntax suger