tests split into unit, function and module tests