adds benchmarking, fixes stuff