external classes