@block draft implementation