Refactor + Fix + New stuff