added types undefined, null, buffer