hook functions all seem to be working properly at the moment