Made more types internal to create a smaller public api