save should work + small refactors