i learned a lot from this article