forked from: 456dice

...
@author AtuyL