added optional syntax matching