vigl function