lots of changes, working on  init loading