Separating constructor into methods.
Modeled .
Some testing.
Defaults to 0 if no entries.
Default  in constructor is empty array. Can be used to generate an empty array.