added tick() functions