update snap restriction to angle / length, clean up