followed the module example