separating request package logic