API redisgned