fleshed out api