better module update system, still not quite perfect though, needs to be automated also