first attempt at some documentation