changed struct definitions