ibm challenge CSSE413