Done #97 + tests