changes for function stuff