every API is better when ify'd