UI codes taken from different sites