wrote some tests for this module. QC changes to come...