Using _limit instead of limit
Type safety + misc