rewrite the lemontea framework use new syntax