Change whole API approach