changed dualmap to return lists as values instead of maps