even more operations handled, small refactorings