add vibration
err, most of the app is done now I guess
tried to save and restore state the right way but forget that, just keep it in portrait mode
refactoring mostly