functions with multiple arities into TODO