improved backend api