implemented 9, but ignored 8. finished