cleaner block based transitions