added extention methods and UT