use ptr functions
merge