Initial commit for new and more structured API