implementing proper dao chaining