block execution seperated