added extension methods