bettere initialization