lab03 for Graham Marlow