OK for implicits, reworking patterns