fixing and refactoring (still need to work on vxxreader)