added ability for hash to be initialized with certain attributes