added chosen solution