some other implementations for the UI