added solution and reflection