Use takahashi singleton method