Copyright (c) 2009-2019 by Nurlan Mukhanov aka Falseclock <nurike@gmail.com>