initial implemention of module