change to uniform initilization