always make sure it's a hash