adding SimpleFactory and Observer modules