basic patterns