refactor source for proper pointer notation