merged with Sobel's writeup