add  helper functions