use the bump.lua demo as a base