added initial pass at UI