tested and bugfixed module