some basic but not final changes to fix and improve block handling (#else_if)