almost finished lab.. still some memory leaks that need to be taken care of.