forked from: Curry

