function getCurrentPrice() public view returns (uint256) { 
        
        if (startTime == 0 || startTime >= block.timestamp) {
            return initialPrice;
        }

        
        uint256 timePassed = block.timestamp - startTime;
        if (timePassed >= duration) {
            return endPrice;
        }

        return _getPrice(timePassed);
    }