- basic changes are done but they have issues, see todo at top