javascript override prototype function