fixed overwrite ToString
added disposable
made factories static