Christian Hoene <hoene@ieee.org>
   All the code except the following

