implement takahashi macro