interface: moved all interface stuff to its own package