a bit internal docs to help me remember what is going on