Initial version.
Initial version forked from grasky82