different way to extend