use a stand along roate function