changes to make separate header file and client program