add new; re-struct