reimplement dispell logic

Signed-off-by: Konctantin <gawrilyako@gmail.com>