Refactor namespaces
Using Object.setPrototypeOf for inheritance