idiomatic constructor
week 2 complete