alternative ways to block definitions