changed a bit in structure