Re-wrote the console class