wrapped into module