renamed some methods & rewrote relative() in recipe