updated init functions