use blob instead of string