finish #8, tested also