forked from: nengafl

