basic token generation working