simpler API, remove savestate after rotation
refactoring, more friendly API