return 0 and lock with pt