[#7] and [#8] done