refactoring special fields to _ instead of $