upgrade instructions, better ip func