Init

Forwarded from project 3 + half of features.