added optional variables