Much progress implementing backend functionality