3 implicit args