Token needs to be interface