working on dns, not compileable yet!