add approval function