User interface

Probably should merge with view