added ip.js support