make gem more independent