Initial functions implementation