this is the programming assignment 2