tidying up some code
adding requires token decorator