add Magic methods: __toString, __invoke