First Complete version