expressions wrapped together, needs polishing