here should use %r