forked from: esc

