forked from Gustavo Whitexp

credit to him