Changed 'token' to use own error type to avoid string building until needed.