added argument struct