Removing need to store the type