some codes in my learning