fast and slow pointer
add notes