https://stackoverflow.com/questions/9064298/are-there-any-issues-with-allocating-memory-within-constructor-initialization-li