Added battery module cleaned getopts with bind
Added data Module and ModuleInstance
Changed module arg to Maybe