complete basicaly