new hash syntax and some cleanup