(WIP) Add support for eslint and update the code with the new rules

updated.