add furnace API
*WIP*