version 2

Same content as version 1. One more class.