better dist.init