abide accept function patterns