used functions