added case class like to string
added map constructor todo
bring back constructors with zero counts
made map the canonical constructor