added dynamic API loading