Fixed usage of abstract factory, added config and file save options