Initial commit
Some basic classes (wip)