Split default into smaller functional recipes and add a few more unit tests