added underscore to some helper functinos to hide them