replace extend
add testling
fix native extend