add serial function