rev version
pipeline val should be lazy