Big commit, cleaned and working