some interface cleanup, error checking, and translations