Initial commit, somewhat working