this is hard, but I feel I am making progress
solved test