refatored HandleManager