solution v1.0 for Q1.8