updated block and switch