Functionality based refactoring : improving source code comprehension