feeding everything through extra function call, makes this slower.