help functions private