Adding better initialization method