working with basic blocks