Split constructor functions off
added a StringTest
Split off constructor functions, and fixed a bug with the read loop