~ added some tests
~ clean-up