rewrite with 'compiler'
rewrite with chaining