checkandgo only horizontal
fix edges bug
add doc