completed backend from my side