There are two versions of implementation, one uses gluon Block, the other one uses gluon HybridBlock.