custom vs default patterns