we should probably stick to one type of function assignment