refactor extension methods classes