remove comments
rename function pointer
Merge with Master