improve/tidy up interfaces widget