Written by Andrey Bondrov aka Pulfer <andrey.bondrov@rosalab.ru>
