practice coding for myself, in the area of algorithm