pattern init