Rename auto-generated module name
Add the 1st implementation
Refactor some parts