Partially complete with #6