lab03 for Nick Ray