overlap might have bug