yes, this function need to be renamed to init()