now support hash object as well