refactored DNA module to support use of maps