-- work in progress --
  * code re-organisation