challenge7. Functional but few things missing yet.