add basic input/output features