patcher: add initial patcher