tokens represented as strings
compose operator