process api results
move to constant
clean up code:
make more compact
add progress bar
rename Result -> ApiResult