reimplement natural language expressions