ui mostly done, need to do API