disabled some controls in the presence of others, added more checks