fix init return type