Move more logic into base api class