achieve the token.java part