initial support for basic blocks