bunch of updates, actually working now