splat operator; reading json; recursion with blocks