add multi-term support + some other customisation