allows mapping commands to an interface