Use chained module definitions, closes #130