more checks and a reload function