implement assignments saving to backend
add device selection and adding