Functional version of virgilio from icemobile