Written by Andrey Bondrov aka Pulfer <andrey.bondrov@rosalab.ru>
Updated by Giovanni Mariani aka gvm <mc2374@mclink.it>
