rewrite into coffee
merged