Add better documentation