lab03 for Tom Craig