reconstructed api structure