Refactor to use from/to instead of client