Completed other then deleting of empty blocks. May need more comments