simple example for user-defined kernels
reformatting
proper naming
towards tool-level abstractions