request lease more generic implementation