refactoring + add linear transitions

@manolo I've refactored a little bit the code and add a linear transition between slide