add some public functions