adding better documentation