Move Tag enum to separate file
Use Buffer trait instead of BufferedReader