GUI work, refine and polish