misc: add helper functions