cleaning up and flexibilizing initialization