updated and revamped backend