mostly backend stuff done now (i should commit more)