add different system functions