fix init and change struct