Describes basic functionality and goals
Adds necessary constructors