calling real api, small design changes