Cis 510 assignment 1 application architecture