now conforms to the tutorial