moved helpers to a stand alone module