working on better api