Added basic structures and interfaces