create initial structure

I'd keep a list of available types hardcoded here in a constant, as It this stuff is not likely change.