why did you move that functions here?