working towards multi-user, almost done i think