First commit, added all the existing parts for v0.9.5