my solution for programming assignment 2