theoretically finished init_poles. still has error in rotation part.