use serialize as serialize format
improve select method