[UPDATE] add factory and objectMode methods.