Implement forwarding and fix some related things