no need to pass all the references