fixed insert, tests, added structural Show impl