David richard user interface

Please check and merge