Design fixes and preparing new types hierarchy