fixed for dart2js support