expression is now passed in as arguement instead of hard coded