change self-loop condition
merge shit