Tweaking use of interfaces, getting up to speed thanks to @enebo