First big commit, major updates