Rupert added implicit, explicit, semi-implicit