rewrite of nsLevel complete. started with a copy&paste of customizedLevel, and transformed it into an object and class structure that performs essentially the same. Adding functionality will be more modular and hopefully simpler