Main author:
  * Henrique de Moraes Holschuh <hmh@hmh.eng.br>

Based on previous work by:
  * Simon Trimmer
  * Tigran Aivazian
