add pattern.cpp