added more i/o logic methods