Adding a few new features, adding the first tests