add functional support
return tokens