add tick function