added more helper functions