#5 partially solved