[refactor] template function / prepair #[] use
[refactor]