new tick implementation