backend post function basically done