got functionality down, now need to fix bugs.