extracted forwarding logic to external class