documentation mostly finished