Implement  [closes #7]