it seems that when i seperate mt method, it runs the wrong result