cleaned up Expression's code