cleaned up and commented example