initial lazy dijskra implementation