[signup] move function into new controller