moved World to a separate module