my own coding method, all right