support for different content types and views, update API structure