implementation of synchconsole class & its tests
use input & output as the input of the console. It seems that the console can open the file for us as well