added slightly better documentation