added optional argument and member variable