completed until #6