segregates all functions in compatible/non-compatible/user