factored assembly out and put in poissontools.{h|c}; this version works as well as previous, i.e. it is not tested yet