start adding better documentation