added primary solution