Typesproviders

Added many small commits into one big commit.
Should not lead to problems since all files are new and only I am working on this ATM.