tests completely refactored
chainability added for first test to pass
minor non-functional corrections