This stuff is more complicated than I expected!