solve 1-5, close #5