Add extension functions