A first response before I dig into the code. From: