added solution structure