some more mods; still need to test