better docs and add reload function