early version with tipp example