added some parameters and structures