add progress listener support
add byte request