better documentation in places