utilizing callbacks properly, more small UI improvements