update apis to use strongly typed results